#!/bin/sh
#/home/steven/GPGPU/cuda/bin/nvcc rayTracing.cu -I"/home/steven/GPGPU/NVIDIA_GPU_Computing_SDK/C/common/inc/" EasyBMP.cpp makebmp.cpp /home/steven/GPGPU/NVIDIA_GPU_Computing_SDK/C/lib/libcutil_x86_64.a
NVCC=/home/steven/GPGPU/cuda/bin/nvcc
INCLUDE=/home/steven/GPGPU/NVIDIA_GPU_Computing_SDK/C/common/inc/
LINK=/home/steven/GPGPU/NVIDIA_GPU_Computing_SDK/C/lib/libcutil_x86_64.a 

all: aes bfs lib mummergpu nn

aes: AES/aesHost.cu AES/aescuda.cpp AES/aesCudaUtils.cpp
	$(NVCC) AES/aesHost.cu -I$(INCLUDE) -I./AES AES/aescuda.cpp AES/aesCudaUtils.cpp -lboost_filesystem -lboost_system $(LINK) -o aes
bfs: BFS/bfs.cu
	$(NVCC) BFS/bfs.cu -I$(INCLUDE) -I./BFS -lboost_filesystem -lboost_system $(LINK) -o bfs

lib: LIB/libor.cu
	$(NVCC) LIB/libor.cu -I$(INCLUDE) -I./LIB -lboost_filesystem -lboost_system $(LINK) -o lib

mummergpu: MUM/mummergpu_main.cpp MUM/mummergpu_gold.cpp MUM/suffix-tree.cpp MUM/PoolMalloc.cpp MUM/mummergpu.cu
	$(NVCC) MUM/mummergpu_main.cpp MUM/mummergpu_gold.cpp MUM/suffix-tree.cpp MUM/PoolMalloc.cpp MUM/mummergpu.cu -I$(INCLUDE) -I./MUM -lboost_filesystem -lboost_system $(LINK) -o mummergpu

nn: NN/NN.cu
	$(NVCC) NN/NN.cu -I$(INCLUDE) -I./NN -lboost_filesystem -lboost_system $(LINK) -o nn

nqu: NQU/nqueen.cu
	$(NVCC) NQU/nqueen.cu -I$(INCLUDE) -I./NQU -lboost_filesystem -lboost_system $(LINK) -o nqu

ray: RAY/EasyBMP.cpp RAY/rayTracing.cu RAY/makebmp.cpp 
	$(NVCC) RAY/EasyBMP.cpp RAY/rayTracing.cu RAY/makebmp.cpp  -I$(INCLUDE) -I./RAY -lboost_filesystem -lboost_system $(LINK) -o ray
